Skip to content

Next.js: Support rename font import#24406

Merged
valentinpalkovic merged 3 commits into
storybookjs:nextfrom
yoshi2no:fix/rename-font-import/yoshi2no
Oct 9, 2023
Merged

Next.js: Support rename font import#24406
valentinpalkovic merged 3 commits into
storybookjs:nextfrom
yoshi2no:fix/rename-font-import/yoshi2no

Conversation

@yoshi2no

@yoshi2no yoshi2no commented Oct 8, 2023

Copy link
Copy Markdown
Contributor

Closes #23592

What I did

  • ensured that renaming using as doesn't cause errors
  • updated unit tests for TransformFontImports

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

  1. Run a sandbox for nextjs/default-ts template
  2. Open Storybook in your browser
  3. edit sandbox/nextjs-default-ts/app/layout.tsx like this
import './globals.css'
import type { Metadata } from 'next'
import { Lora as FontLora } from 'next/font/google' // rename

const lora = FontLora({
  subsets: ['latin'],
})

export const metadata: Metadata = {
  title: 'Create Next App',
  description: 'Generated by create next app',
}

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body className={lora.className}>
        <div>{children}</div>
      </body>
    </html>
  )
}
  1. add RootLayout to Page sandbox/nextjs-default-ts/stories/Page.tsx
  2. go to http://localhost:6006/?path=/story/example-page--logged-out
  3. check that no errors are displayed and the font-family is applied correctly

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>

Comment thread code/frameworks/nextjs/src/font/babel/helpers.ts
@valentinpalkovic valentinpalkovic self-assigned this Oct 8, 2023
@valentinpalkovic valentinpalkovic added the ci:normal Run our default set of CI jobs (choose this for most PRs). label Oct 9, 2023
@valentinpalkovic valentinpalkovic changed the title fix: rename font import in Next.js Next.js: Support rename font import Oct 9, 2023
@valentinpalkovic

Copy link
Copy Markdown
Contributor

Hi @yoshi2no

Thanks for your contribution.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug ci:normal Run our default set of CI jobs (choose this for most PRs). nextjs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Cannot rename import

2 participants